package com.xdtech.parking.service;

import java.util.List;

import com.xdtech.common.service.IBaseService;
import com.xdtech.parking.model.ParkUser;
import com.xdtech.parking.vo.BillDetail;
import com.xdtech.parking.vo.ParkUserItem;

/**
 * 
 * @author max.zheng
 * @create 2015-06-21 14:00:53
 * @since 1.0
 * @see
 */
public interface ParkUserService extends IBaseService<ParkUser>{

	/**
	 * 保存更新信息
	 * @author max.zheng
	 * @create 2015-06-21 14:00:53
	 * @modified by
	 * @param item
	 * @return
	 */
	boolean saveOrUpdateParkUser(ParkUserItem item);

	/**
	 * 加载记录信息
	 * @author max.zheng
	 * @create 2015-06-21 14:00:53
	 * @modified by
	 * @param newId
	 * @return
	 */
	ParkUserItem loadParkUserItem(Long parkUserId);

	/**
	 * 根据id号删除记录信息
	 * @author max.zheng
	 * @create 2015-06-21 14:00:53
	 * @modified by
	 * @param id
	 * @return
	 */
	boolean deleteParkUserInfo(long id);

	/**
	 * 
	 * @author max.zheng
	 * @create 2015-06-21 14:00:53
	 * @modified by
	 * @param parkUserIds
	 */
	boolean deleteParkUserInfo(List<Long> parkUserIds);
	
	/**
	 * 加载vo列表条目
	 * @author max.zheng
	 * @create 2015-06-21 14:00:53
	 * @modified by
	 * @return
	 */
	List<ParkUserItem> loadItems();

	/**
	 * app端登录认证
	 * @author max.zheng
	 * @create 2015-6-21下午2:33:52
	 * @modified by
	 * @param telephone
	 * @param password
	 * @return
	 */
	ParkUserItem loginCheck(String telephone, String password);

	/**
	 * 检测电话是否注册过
	 * @author max.zheng
	 * @create 2015-6-21下午2:46:35
	 * @modified by
	 * @param telephone
	 * @return
	 */
	boolean checkTelephone(String telephone);

	/**
	 * 保存更新用户信息
	 * @author max.zheng
	 * @create 2015-6-21下午2:49:53
	 * @modified by
	 * @param item
	 * @return
	 */
	boolean saveOrUpdateUser(ParkUserItem item);

	/**
	 * 注册用户
	 * @author max.zheng
	 * @create 2015-6-21下午2:50:38
	 * @modified by
	 * @param telephone
	 * @param password
	 * @return
	 */
	ParkUserItem register(String telephone, String password,String type);

	/**
	 * 更新密码
	 * @author max.zheng
	 * @create 2015-6-21下午4:08:32
	 * @modified by
	 * @param telephone
	 * @param oldPwd
	 * @param newPwd
	 * @return
	 */
	String updatePwd(String telephone, String oldPwd, String newPwd);

	/**
	 * 根据泊车编码加载费用信息
	 * @author max.zheng
	 * @create 2015-6-27下午10:41:31
	 * @modified by
	 * @param parkNo
	 * @return
	 */
	BillDetail getBillDetail(String aid,String parkNo);
}
